Method of deleting SSID of access point stored in information processing apparatus

ABSTRACT

In a method, that is executed in an information processing apparatus, of deleting an SSID (Service Set Identifier) of an access point stored in the information processing apparatus, information indicating SSIDs stored in the information processing apparatus is obtained from the information processing apparatus, and an SSID satisfying a predetermined condition is specified among the SSIDs included in the obtained information. The information processing apparatus is instructed to delete the specified SSID.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/220,040, now U.S. Pat. No. 10,609,638, filed Jul. 26, 2016, whichclaims the benefit of Japanese Patent Application No. 2015-158500, filedon Aug. 10, 2015, which are hereby incorporated by reference herein intheir entireties.

FIELD OF THE INVENTION

The present invention relates to a method of deleting an SSID (ServiceSet Identifier) of an access point stored in an information processingapparatus.

DESCRIPTION OF THE RELATED ART

In recent years, a mobile terminal called a smartphone, a tablet PC, orthe like has a wireless communication function, and can transmit, usingthe wireless communication function, a photo or document data stored inthe mobile terminal to a printing apparatus such as a printer to printit.

In order for the mobile terminal to execute wireless communication withan apparatus such as a printer, the mobile terminal needs to establishwireless communication with the printing apparatus by performingconnection to, for example, an access point. As a method of establishingwireless communication, a handover using NFC (Near Field Communication)is known (see Japanese Patent Laid-Open No. 2013-157736). The handoveris processing of obtaining, using near field wireless communication suchas NFC, connection information (for example, an SSID (Service SetIdentifier)) necessary to execute wireless communication, andestablishing wireless communication based on the obtained connectioninformation. This handover allows a user of a mobile terminal toestablish wireless communication between the mobile terminal and anexternal apparatus such as a printer by only bringing the mobileterminal closer to the external apparatus (touching the externalapparatus with the mobile terminal).

Some external apparatuses behave (act) as access points. It is alsopossible to establish direct wireless communication between suchexternal apparatus and a mobile terminal. In this arrangement, it ispossible to implement the above-described handover.

The mobile terminal stores connection information which has been used toestablish wireless communication. This enables the mobile terminal to bereconnected to the access point which has been connected before, therebyimproving the user convenience.

The above-described handover is performed to temporarily establishwireless communication between the mobile terminal and the externalapparatus. Since the mobile terminal can be reconnected to the accesspoint which has been connected before, the external apparatus mayrandomly change the SSID every connection operation. This can prevent asituation in which even though a user of a given mobile terminal isattempting to perform connection to an external apparatus, anothermobile terminal which has been connected to the external apparatus onceis connected to the external apparatus first. On the other hand, sincethe mobile terminal stores a randomly generated SSID every time it isconnected to an external apparatus, a large number of SSIDs may bedisplayed on the SSID selection screen of the mobile terminal. In thiscase, the user of the mobile terminal needs to find a desired SSID froma list of the large number of SSIDs. This is cumbersome for the user.

SUMMARY OF THE INVENTION

An aspect of the present invention is to eliminate the above-mentionedproblems with the conventional techniques.

A feature of the present invention is to solve the above problem in therelated art by deleting an SSID satisfying a predetermined conditionfrom the SSIDs of access points stored in an information processingapparatus.

According to a first aspect of the present invention, there is provideda method, that is executed in an information processing apparatus, ofdeleting an SSID (Service Set Identifier) of an access point stored inthe information processing apparatus, comprising: obtaining, from theinformation processing apparatus, information indicating SSIDs stored inthe information processing apparatus; specifying an SSID satisfying apredetermined condition among the SSIDs included in the informationobtained in the obtaining; and instructing the information processingapparatus to delete the SSID specified in the specifying.

According to a second aspect of the present invention, there is provideda method, that is executed in an information processing apparatus, ofdeleting an SSID of an access point stored in the information processingapparatus, comprising: obtaining first information indicating SSIDsstored in the information processing apparatus from the informationprocessing apparatus; specifying SSIDs each including a predeterminedcharacter string among the SSIDs indicated by the first information;obtaining second information indicating an SSID of an access pointcurrently connected to the information processing apparatus from theinformation processing apparatus; and instructing the informationprocessing apparatus to delete SSIDs except for the SSID indicated bythe second information among the SSIDs specified in the specifying andeach including the predetermined character string.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of the specification, illustrate embodiments of the invention and,together with the description, serve to explain the principles of theinvention.

FIG. 1 depicts a view for explaining the configuration of acommunication system according to a first embodiment of the presentinvention;

FIG. 2 is a block diagram for explaining the hardware arrangement of amobile terminal according to the first embodiment;

FIG. 3 is a block diagram for explaining the software arrangement of themobile terminal according to the first embodiment;

FIG. 4 is a block diagram for explaining the hardware arrangement of aprinting apparatus according to the first embodiment;

FIG. 5 is a block diagram for explaining the software arrangement of theprinting apparatus according to the first embodiment;

FIGS. 6A to 6C depict views each showing a screen example displayed onan operation panel by a print application of the mobile terminalaccording to the first embodiment;

FIG. 7 is a block diagram for explaining the hardware arrangement of anNFC tag according to the first embodiment;

FIG. 8 depicts a view showing an example of information written in theNFC tag according to the first embodiment;

FIG. 9 is a flowchart for describing processing when the mobile terminaltransmits a print job to the printing apparatus according to the firstembodiment;

FIG. 10 is a flowchart for describing processing executed to end theprint application of the mobile terminal according to the firstembodiment; and

FIGS. 11A and 11B are flowcharts for describing processing executed whena print application of a mobile terminal ends according to a secondembodiment.

DESCRIPTION OF THE EMBODIMENTS

Embodiments of the present invention will now be described hereinafterin detail, with reference to the accompanying drawings. It is to beunderstood that the following embodiments are not intended to limit theclaims of the present invention, and that not all of the combinations ofthe aspects that are described according to the following embodimentsare necessarily required with respect to the means to solve the problemsaccording to the present invention.

First Embodiment

FIG. 1 depicts a view for explaining the configuration of acommunication system according to the first embodiment of the presentinvention.

The communication system according to the first embodiment includes amobile terminal 100, a printing apparatus 110, an NFC tag 111 providedin the printing apparatus 110, and an access point 120. Note that theprinting apparatus 110 may operate as an access point by software, andexecute wireless communication such as a wireless communication LAN withthe mobile terminal 100.

The mobile terminal 100 can execute wireless communication such as awireless communication LAN. When the user inputs the SSID and securitykey of the printing apparatus 110 to the mobile terminal 100, the mobileterminal 100 can be connected to the printing apparatus 110, andcommunicate with the printing apparatus 110 via the wirelesscommunication LAN. Thus, the mobile terminal 100 can transmit a printjob to an external apparatus such as the printing apparatus 110 via thewireless communication LAN. Upon receiving the print job, the printingapparatus 110 executes printing in accordance with the print job.

The mobile terminal 100 and the printing apparatus 110 can execute nearfield wireless communication such as NFC. In the first embodiment, theprinting apparatus 110 has the NFC tag 111 in which connectioninformation (the SSID and security key of the access point 120) forconnection to the access point 120 is stored. The mobile terminal 100can obtain the information of the NFC tag 111 of the printing apparatus110 using NFC, and can be connected to the access point 120 based on theobtained information. The processing of switching connection to wirelesscommunication such as a wireless communication LAN using the informationobtained by the near field wireless communication such as NFC is calleda handover. The handover can omit the user's labor for inputting, to themobile terminal 100, the information (the SSID and security key of theaccess point 120) for connection to the access point 120.

FIG. 7 is a block diagram for explaining the hardware arrangement of theNFC tag 111 according to the first embodiment.

An antenna 701 is connected to a controller 702. The antenna 701 issupplied with an electric power from a near field wireless communicationunit 210 (FIG. 2) of the mobile terminal 100 by electromagneticinduction, and uses the electric power as the operating power of thecontroller 702. In addition, the antenna 701 operates as an antenna forwireless communication from a near field wireless communication unit 210(FIG. 2). The controller 702 communicates with the mobile terminal 100via the antenna 701. In addition, the controller 702 performs processingof reading/writing a read/write instruction by communication from/in amemory 703. This makes it possible to hold the information (to bedescribed later) of the printing apparatus 110 such as a MAC address,and externally send the information via the antenna 701, as needed.

FIG. 2 is a block diagram for explaining the hardware arrangement of themobile terminal 100 according to the first embodiment. Note that, forexample, an apparatus such as a smartphone or tablet PC is assumed asthe mobile terminal 100 according to the first embodiment. However, anyother information processing apparatus capable of executing wirelesscommunication may be used.

A CPU 201 deploys, in a RAM 203, a control program stored in a ROM 202or a flash memory 204, and executes it, thereby executing variousprocesses for controlling the operation of the mobile terminal 100. TheROM 202 stores the control program. The RAM 203 is used as a main memoryand a temporary storage area such as a work area for the CPU 201. Theflash memory 204 stores various data such as photos and electronicdocuments. Furthermore, the flash memory 204 stores an OS (OperationSystem) 310 (FIG. 3) and a print application 300 (FIG. 3) (both will bedescribed later). An RTC (Real Time Clock) 205 measures a timeinstructed by the CPU 201 and the current time.

Note that in the mobile terminal 100 in this example, the one CPU 201executes respective processes shown in flowcharts (to be describedlater). Another arrangement may be adopted. For example, a plurality ofCPUs may cooperate with each other to execute the respective processesshown in the flowcharts (to be described alter).

An operation panel 206 has a touch panel function capable of detecting atouch operation by the user. The operation panel 206 displays variousscreens provided by the OS 310 and the print application 300. The usercan input a desired operation instruction to the mobile terminal 100 byinputting a touch operation to the operation panel 206. The mobileterminal 100 includes hardware keys (not shown), and the user can inputan operation instruction to the mobile terminal 100 using the hardwarekeys.

A loudspeaker 207 and a microphone 208 are used when the user callsanother mobile terminal (mobile phone) or fixed-line phone. A camera 209captures an image in response to an image capturing instruction from theuser. Photo data captured by the camera 209 is stored in a predeterminedarea of the flash memory 204.

The near field wireless communication unit 210 executes near fieldwireless communication such as NFC. In the first embodiment, theprinting apparatus 110 includes the NFC tag 111. When the user bringsthe mobile terminal 100 closer to the NFC tag 111 of the printingapparatus 110, near field wireless communication is established betweenthe near field wireless communication unit 210 and the NFC tag 111 ofthe printing apparatus 110, and the near field wireless communicationunit 210 obtains the information of the NFC tag 111. Note that nearfield wireless communication executed by the near field wirelesscommunication unit 210 is not limited to NFC, and may be, for example,Bluetooth®.

A wireless communication unit 211 executes wireless communication via awireless communication LAN or the like. By using the handover, themobile terminal 100 can implement wireless communication by the wirelesscommunication unit 211 with a simple operation for the user. Morespecifically, using the connection information (the SSID and securitykey of the access point 120) obtained by the near field wirelesscommunication unit 210 from the NFC tag 111 of the printing apparatus110, the wireless communication unit 211 can perform connection to theaccess point 120. The wireless communication unit 211 can communicate,via the access point 120, with an apparatus connected to the accesspoint 120.

FIG. 3 is a block diagram for explaining the software arrangement of themobile terminal 100 according to the first embodiment. Software programsshown in FIG. 3 indicate software functions implemented when the CPU 201deploys control programs stored in the ROM 202 or the flash memory 204into the RAM 203 and executes them.

The OS 310 is software for controlling the overall operation of themobile terminal 100. A control module 311 controls the overall operationof the OS 310. Various applications including the print application 300(to be described later) can be installed in the mobile terminal 100. Thecontrol module 311 exchanges information with each application. Inaccordance with an instruction received from the application, thecontrol module 311 changes a screen displayed on the operation panel206, and executes wireless communication by the wireless communicationunit 211.

Screen transition and an overview of a print function implemented by theprint application 300 will be described with reference to FIGS. 6A to6C. Respective screens shown in FIGS. 6A to 6C are screen examplesdisplayed on the operation panel 206 by the print application 300.

FIG. 6A depicts a view showing an example of a print screen displayed onthe mobile terminal 100 according to the first embodiment.

In FIG. 6A, a list of documents stored in the flash memory 204 isdisplayed. FIG. 6A shows the print screen on which four documents 601 to604 are displayed. On this print screen, the user selects a document tobe printed.

FIG. 6B depicts a view showing a print screen displayed when the userselects the document 601 on the print screen shown in FIG. 6A. On thisprint screen, a preview image 611 of the document 601 selected by theuser is displayed. In this state, if the user wants to change printsettings, he/she selects a button 612. Alternatively, if the user wantsto return to the document list screen of FIG. 6A, he/she selects an icon613.

While the print screen of FIG. 6B is displayed, if the user brings themobile terminal 100 closer to the NFC tag 111 of the printing apparatus110 (touches the NFC tag 111 with the mobile terminal 100), the nearfield wireless communication unit 210 reads the connection informationstored in the NFC tag 111 of the printing apparatus 110. In the firstembodiment, the NFC tag 111 of the printing apparatus 110 stores theconnection information to be used by the wireless communication unit 211to execute wireless communication with the printing apparatus 110. Basedon the connection information obtained when the near field wirelesscommunication unit 210 reads the NFC tag 111 of the printing apparatus110, the wireless communication unit 211 can execute wirelesscommunication with the printing apparatus 110.

When the wireless communication unit 211 of the mobile terminal 100 isconnected to the access point (the access point 120 or printingapparatus 110) indicated by the connection information, the printapplication 300 generates a print job, and transmits it to the printingapparatus 110. The connection information obtained by the wirelesscommunication unit 211 using near field wireless communication includesthe IP address of the printing apparatus 110, and the print job istransmitted to the printing apparatus 110 by setting the IP address as adestination.

FIG. 6C depicts a view showing a screen example displayed on theoperation panel 206 while the print application 300 transmits the printjob. In FIG. 6C, a message “processing is in progress” indicating thatthe print job is currently transmitted is displayed. Upon completion ofthe transmission of the print job, the message indicating that theprocessing is in progress is erased.

The sequence of the print function implemented by the print application300 has been described. This print function is implemented when the usertouches the NFC tag 111 of the printing apparatus 110 with the mobileterminal 100, and is thus called a touch print function.

FIG. 4 is a block diagram for explaining the hardware arrangement of theprinting apparatus 110 according to the first embodiment. Note that theprinting apparatus 110 will be explained by exemplifying amulti-function peripheral (MFP) having a copy function, a scan function,a print function, a box function, a facsimile transmission/receptionfunction, and the like. However, a single-function printing apparatusmay be used, as a matter of course.

A CPU 401 deploys, in a RAM 403, a program stored in a ROM 402 or a massstorage device such as a hard disk (HDD) 412, and executes the program,thereby comprehensively controlling respective devices connected to asystem bus 415. The RAM 403 functions as a main memory, a work area, andthe like for the CPU 401. A panel interface 407 inputs instructions fromvarious buttons, an operation panel 408, and the like included in theprinting apparatus 110. A display unit interface 409 controls a displayon a display unit 410. A disk controller (DKC) 411 controls processingof reading/writing data from/in the mass storage device such as the HDD412.

A network interface card (NIC) 405 bidirectionally exchanges data withanother network apparatus, a file server, or the like via a network 10.In an operation in an infrastructure mode, a wireless communication unit(WLAN) 404 is connected to the network 10 via the access point tobidirectionally exchange data with another network apparatus, a fileserver, or the like. In an operation in a software AP mode, the printingapparatus 110 can operate as an access point to perform direct wirelesscommunication connection to the mobile terminal. A printer unit 413prints an image on a sheet such as paper by, for example, anelectrophotographic method. A scanner 414 reads an original, andgenerates image data of an image of the original. As described above,the NFC tag 111 records the information of an application activated fromthe controller 702, a wireless LAN handover, and the like. The mobileterminal 100 loads the connection information stored in the NFC tag andthe like using the near field wireless communication unit 210.

FIG. 5 is a block diagram showing the software arrangement of theprinting apparatus 110 according to the embodiment. Note that thesoftware is stored in the ROM 402 or HDD 412. When the CPU 401 deploysthe software in the RAM 403 and executes it, functions shown in theblock diagram are implemented.

A network setting module 501 sets information to be written in the NFCtag 111. More specifically, the network setting module 501 sets, asparameters, wireless LAN connection information and information such asa device name. The wireless LAN connection information includes an SSIDand a password. An SSID is randomly generated every time a wireless LANis disconnected. An NFC tag writing module 502 writes, in the NFC tag111, the parameters set by the network setting module 501.

FIG. 8 depicts a view showing an example of information written in theNFC tag 111 according to the first embodiment.

Activation application information 801 indicates the name of anapplication activated when the NFC tag 111 is touched with the mobileterminal 100. Referring to FIG. 8, a print application having a name“com.example.printapp” is activated.

Wi-Fi connection information 802 indicates connection information to awireless network. This connection information includes the SSID andpassword of the access point 120 connectable to the printing apparatus110. A randomly generated temporary SSID is stored in a predeterminedformat. In the first embodiment, “DIRECT_xx_abc10” is stored, and aportion “xx” is randomly generated.

Network connection information 803 indicates the MAC address of theprinting apparatus 110. In the first embodiment, only the MAC address isdescribed. However, a combination of pieces of information capable ofidentifying the printing apparatus 110, such as the IP address and UUIDof the printing apparatus 110, may be used.

Device name information 804 indicates the name of the printing apparatus110, in this example, “Printer01”.

FIG. 9 is a flowchart for describing processing when the mobile terminal100 transmits a print job to the printing apparatus 110 according to thefirst embodiment. The processing shown in this flowchart is implementedwhen the CPU 201 deploys, in the RAM 203, the program stored in the ROM202 or the flash memory 204, and executes it.

This processing starts when the user of the mobile terminal 100 touchesthe NFC tag 111 of the printing apparatus 110 with the mobile terminal100 while, for example, a document to be printed is selected on thescreen of FIG. 6A.

In step S901, the CPU 201 obtains the connection information from theNFC tag 111 via the near field wireless communication unit 210. Thisconnection information includes the SSID which has been temporarilygenerated by the printing apparatus 110 to perform direct wirelesscommunication between the mobile terminal 100 and the printing apparatus110. If the connection information is obtained from the NFC tag 111 viathe near field wireless communication unit 210, the process advances tostep S902 and the CPU 201 stores the obtained connection information inthe flash memory 204. Next, the process advances to step S903 and theCPU 201 performs connection to the access point 120 indicated by theconnection information stored in step S902. Thus, wireless communicationbetween the mobile terminal 100 and the printing apparatus 110 isestablished. The process then advances to step S904 and the CPU 201transmits a print job to the printing apparatus 110. In the firstembodiment, the print application 300 generates a print job to print thedocument selected by the user on the print screen of FIG. 6A, and thegenerated print job is transmitted to the printing apparatus 110 in stepS904. Upon receiving the print job transmitted in step S904, theprinting apparatus 110 executes print processing based on the receivedprint job. Upon completion of the transmission of the print job, endprocessing of the application is executed.

The mobile terminal 100 according to the first embodiment searches foran access point around itself at the time of wireless LAN connection,and displays an access point selection screen based on the searchresult. When the user selects a desired access point on the selectionscreen, the mobile terminal 100 is connected to the selected accesspoint. Note that designation of an access point as a connectiondestination is not limited to designation from the selection screenbased on the search result. For example, the user may directly input theSSID and connection key of an access point to the mobile terminal 100.

A storage module 312 (FIG. 3) of the OS 310 stores the connectioninformation connected when the wireless communication unit 211 executeswireless communication. More specifically, as the connectioninformation, the information of the access point selected on theselection screen or the information of the access point obtained by thenear field wireless communication unit 210 from the NFC tag 111 by nearfield wireless communication is stored.

The mobile terminal 100 holds history information connected to awireless LAN, and displays, on a history screen, a list of access pointsconnected in the past. The history screen is displayed based on theinformation stored in the storage module 312.

The connection information obtained from the NFC tag by near fieldwireless communication is information to be temporarily used to executeprinting. If the storage module 312 stores the connection information tobe temporarily used every time the print application 300 executes thetouch print function, a large amount of connection information is storedin the storage module 312. If a large amount of connection informationto be temporarily used is stored in the storage module 312, for example,a large amount of information is displayed on the history screen,resulting in poor appearance.

Furthermore, the number of pieces of connection information stored inthe storage module 312 may reach the maximum number of pieces ofconnection information which can be stored in the storage module 312. Inthis case, if connection information obtained from the NFC tag by nearfield wireless communication is newly stored, other important connectioninformation, for example, connection information indicating an accesspoint used by the user at home may be deleted, thereby degrading theuser convenience.

To cope with this, in the first embodiment, the connection informationobtained from the NFC tag by the near field wireless communication, thatis, the connection information to be temporarily used is deleted. Thisprocessing can prevent the appearance of the history screen frombecoming poor and prevent important connection information from beingdeleted due to an increase in the stored connection information.

FIG. 10 is a flowchart for describing processing executed to end theprint application 300 of the mobile terminal 100 according to the firstembodiment. The processing shown in this flowchart is implemented whenthe CPU 201 deploys, in the RAM 203, the program stored in the ROM 202or the flash memory 204, and executes it.

At this time, all_SSID_list (element count: all_SSID_list_num) forstoring a list of SSIDs obtained from the OS 310 and tmp_SSID_list(element count: tmp_SSID_list_num) for storing a list of temporarilyconnected SSIDs are provided as work areas in the RAM 203, and variablesi and k each indicating the ordinal number of an element in the list areprovided in the RAM 203.

In step S1001, the CPU 201 determines whether or not the application isto end. If the application is to end, the process advances to stepS1002, otherwise, the process returns to step S1001. In step S1002, theCPU 201 obtains a list of SSIDs from the OS 310, and stores it in theSSID list all_SSID_list in the RAM 203. The process advances to stepS1003, and the CPU 201 initializes the variable i in the RAM 203 to “0”,and the process advances to step S1004. In step S1004, the CPU 201determines whether or not the ith SSID in the SSID list all_SSID_list isa temporary SSID. In the first embodiment, if the name of the SSIDincludes a predetermined character string, it is determined that theSSID is a temporary SSID. Note that a temporary SSID determinationmethod is not limited to this. For example, if a specific IP address isindicated, it may be determined that the SSID is a temporary SSID.Alternatively, determination may be performed based on a flag includedin information obtained by the near field wireless communication such asNFC or Bluetooth. Other determination methods may be adopted.

If the CPU 201 determines in step S1004 that the SSID is a temporarySSID, the process advances to step S1005, otherwise, the processadvances to step S1006. In step S1005, the CPU 201 stores the SSIDdetermined as the temporary SSID in tmp_SSID_list for storing the listof temporarily connected SSIDs, and the process advances to step S1006.In step S1006, the CPU 201 increments the variable i, and the processadvances to step S1007. In step S1007, the CPU 201 determines whether ornot the element count (all_SSID_list_num) of all_SSID_list is equal tothe variable i. That is, it is determined whether or not all theelements of the SSID list obtained in step S1002 have been checked. Ifit is determined that the element count is equal to the variable i, thatis, all the elements have been checked, the process advances to stepS1008, otherwise, the process returns to step S1004.

In step S1008, the CPU 201 initializes, to “0”, the variable k forcounting the number of deleted elements, and the process advances tostep S1009. In step S1009, the CPU 201 issues a deletion instruction oftmp_SSID_list[k] to the OS 310, and the process advances to step S1010.In step S1010, the CPU 201 increments the variable k, and the processadvances to step S1011. In step S1011, the CPU 201 determines whether ornot tmp_SSID_list_num is equal to the variable k. That is, it isdetermined whether or not the CPU 201 has issued, to the OS 310,deletion instructions of all the elements of the temporary SSID listtmp_SSID_list. If the CPU 201 has not issued deletion instructions ofall the elements, the process returns to step S1009, otherwise, theprocess ends.

Note that in the first embodiment, all the SSIDs determined as thetemporary SSIDs are deleted. However, in consideration of the processingload of the OS, only a predetermined number (for example, 5) oftemporary SSIDs may be deleted instead of deleting all the temporarySSIDs at a time. The user may instruct the predetermined number.

As described above, according to the first embodiment, by deleting SSIDsdetermined as the temporary SSIDs, for example, it is possible toprevent the appearance of the history screen from becoming poor andprevent important connection information from being deleted due to anincrease in stored connection information.

Note that in the first embodiment, the deletion processing of theconnection information is executed at the end of the application.However, for example, temporary connection information may be deleted atthe time of activation of the application, at the time of newconnection, or at the time of disconnection.

Second Embodiment

The second embodiment of the present invention will be described next.In the second embodiment, in addition to the above-describedarrangement, an SSID currently used is considered as connectioninformation which is still used by the user, and is not deleted. Thisprocessing will be described in detail below. Note that a systemconfiguration and the hardware arrangements of a mobile terminal 100 anda printing apparatus 110 according to the second embodiment are the sameas those in the above-described first embodiment and a descriptionthereof will be omitted.

FIGS. 11A and 11B are flowcharts for describing processing executed whena print application 300 of the mobile terminal 100 ends according to thesecond embodiment. The processing shown in this flowchart is implementedwhen a CPU 201 deploys, in a RAM 203, a program stored in a ROM 202 or aflash memory 204, and executes it.

At this time, all_SSID_list (element count: all_SSID_list_num) forstoring a list of SSIDs obtained from an OS 310 and current_SSID forholding currently connected SSID information are provided as work areasin the RAM 203. Furthermore, tmp_SSID_list (element count:tmp_SSID_list_num) for storing a list of temporarily connected SSIDs andvariables i, j, and k each indicating the ordinal number of an elementin the list are provided in the RAM 203.

In step S1101, the CPU 201 determines whether or not the application isto end. If the application is to end, the process advances to stepS1102, otherwise, the process returns to step S1101. In step S1102, theCPU 201 obtains a list of SSIDs from the OS 310, and stores it inall_SSID_list in the RAM 203. The process advances to step S1103, andthe CPU 201 initializes the variable i in the RAM 203 to “0”, and theprocess advances to step S1104. In step S1104, the CPU 201 determineswhether or not the ith SSID in all_SSID_list is a temporary SSID. In thesecond embodiment, if the name of the SSID includes a predeterminedcharacter string, it is determined that the SSID is the temporary SSID.Note that a temporary SSID determination method is not limited to this.For example, if a specific IP address is indicated, it may be determinedthat the SSID is the temporary SSID. Alternatively, determination may beperformed based on a flag included in information obtained by near fieldwireless communication such as NFC or Bluetooth. Other determinationmethods may be adopted.

If the CPU 201 determines in step S1104 that the SSID is the temporarySSID, the process advances to step S1105, otherwise, the processadvances to step S1106. In step S1105, the CPU 201 stores the SSIDdetermined as the temporary SSID in tmp_SSID_list for storing the listof temporarily connected SSIDs, and the process advances to step S1106.In step S1106, the CPU 201 increments the variable i, and the processadvances to step S1107. In step S1107, the CPU 201 determines whether ornot the element count (all_SSID_list_num) of all_SSID_list is equal tothe variable i. That is, it is determined whether or not all theelements of the SSID list obtained in step S1102 have been checked. Ifit is determined that the element count is equal to the variable i, thatis, all the elements have been checked, the process advances to stepS1108, otherwise, the process returns to step S1104.

In step S1108, the CPU 201 obtains a currently connected SSID from theOS 310, and stores it in current_SSID. Then, the process advances tostep S1109. In step S1109, the CPU 201 initializes the variable j, andthe process advances to step S1110 (FIG. 11B). In step S1110, the CPU201 determines whether or not tmp_SSID_list[j] matches the current_SSID.That is, it is determined whether or not the SSID determined as thetemporary SSID matches the currently connected SSID. If it is determinedthat the SSIDs match, the process advances to step S1113, otherwise, theprocess advances to step S1111. In step S1111, the CPU 201 incrementsthe variable j. The process advances to step S1112, and the CPU 201determines whether or not tmp_SSID_list_num is equal to the variable j.That is, it is determined whether or not all the elements of the list oftemporarily connected SSIDs have been checked. If it is determined thattmp_SSID_list_num is equal to the variable j, that is, all the elementshave been checked, the process advances to step S1115, otherwise, theprocess returns to step S1110.

In step S1113, the CPU 201 deletes the currently connected SSID from thetemporary SSID list tmp_SSID_list[j], and the process advances to stepS1114. Since one element tmp_SSID_list[j] of the temporary SSID list hasbeen deleted, the CPU 201 decrements (−1) tmp_SSID_list_num in stepS1114, and the process advances to step S1115.

In step S1115, the CPU 201 initializes the variable k, and the processadvances to step S1116. In step S1116, the CPU 201 issues a deletioninstruction of tmp_SSID_list[k] to the OS 310, and the process advancesto step S1117. In step S1117, the CPU 201 increments the variable k, andthe process advances to step S1118. In step S1118, the CPU 201determines whether or not tmp_SSID_list_num is equal to the variable k.That is, it is determined whether or not the CPU 201 has issued, to theOS 310, deletion instructions of all the elements of the temporary SSIDlist tmp_SSID_list after the currently connected SSID is deleted. If itis determined that the CPU 201 has not issued the deletion instructionsof all the elements, the process returns to step S1116, otherwise, theprocess ends.

Note that in the second embodiment, all the temporary SSIDs except forthe currently used SSID are deleted. However, in consideration of theprocessing load of the OS 310, only a predetermined number (for example,5) of temporary SSIDs may be deleted instead of deleting all thetemporary SSIDs at one time. The user may designate the predeterminednumber via, for example, an operation panel 206.

As described above, according to the second embodiment, by deletingSSIDs determined as temporary SSIDs, for example, it is possible toprevent the appearance of a history screen from becoming poor andprevent important connection information from being deleted due to anincrease in stored connection information. Furthermore, by deleting theSSIDs except for the currently used SSIDs, it is possible to leaveconnection information which is still used by the user.

Note that in the second embodiment, the temporary connection informationdeletion processing is executed at the end of the application. However,the deletion processing of the temporary connection information may beexecuted at the time of activation of the application, at the time ofnew connection, or at the time of disconnection.

Note that in the first and second embodiments, an SSID starting with apredetermined character string (for example, “Direct”) is used as acondition for determining a temporary SSID. However, for example, if thefixed SSID of a given product includes the predetermined characterstring, this SSID is unwantedly determined as a temporary SSID in thisembodiment. To cope with this, a predetermined condition such as theformat of an SSID or a specific IP address may be used as a conditionfor determining a temporary SSID. Alternatively, as described above, thecondition may be that information obtained by near field wirelesscommunication such as NFC or Bluetooth is included.

OTHER EMBODIMENTS

Embodiments of the present invention can also be realized by a computerof a system or apparatus that reads out and executes computer executableinstructions (e.g., one or more programs) recorded on a storage medium(which may also be referred to more fully as a ‘non-transitorycomputer-readable storage medium’) to perform the functions of one ormore of the above-described embodiments and/or that includes one or morecircuits (e.g., application specific integrated circuit (ASIC)) forperforming the functions of one or more of the above-describedembodiments, and by a method performed by the computer of the system orapparatus by, for example, reading out and executing the computerexecutable instructions from the storage medium to perform the functionsof one or more of the above-described embodiments and/or controlling theone or more circuits to perform the functions of one or more of theabove-described embodiments. The computer may comprise one or moreprocessors (e.g., central processing unit (CPU), micro processing unit(MPU)) and may include a network of separate computers or separateprocessors to read out and execute the computer executable instructions.The computer executable instructions may be provided to the computer,for example, from a network or the storage medium. The storage mediummay include, for example, one or more of a hard disk, a random-accessmemory (RAM), a read only memory (ROM), a storage of distributedcomputing systems, an optical disk (such as a compact disc (CD), digitalversatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, amemory card, and the like.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

This application claims the benefit of Japanese Patent Application No.2015-158500, filed Aug. 10, 2015 which is hereby incorporated byreference herein in its entirety.

What is claimed is:
 1. A method that is executed by an applicationprogram in a mobile terminal, wherein an OS (Operating System) of themobile terminal stores information indicating the SSIDs (Service SetIdentifiers) in a storage area managed by the OS, wherein the methodcomprises: obtaining, from the OS, the information indicating SSIDs ofaccess points being stored in the storage area; extracting, based on theobtained information indicating the SSIDs, one or more temporary SSIDsfrom the SSIDs stored in the storage area as a temporary SSID, whereinthe extracted one or more temporary SSIDs are made by combining apredetermined character string and a character string that is randomlygenerated; and issuing a deletion instruction of information indicatingthe extracted one or more temporary SSIDs to the OS, in a case that apredetermined process is executed for the application program, whereinthe deletion of information indicating the extracted one or moretemporary SSIDs stored in the storage area is performed by the OS basedon the temporary SSID, and wherein the information indicating SSIDsstored in the storage area managed by the OS is automatically updated bythe OS based on information of an access point in a case that the mobileterminal connects to the access point as a wireless client.
 2. Themethod according to claim 1, wherein, when the predetermined process isexecuted for the application program, the information indicating theextracted one or more temporary SSIDs is deleted, by the OS, from theinformation indicating the SSIDs being stored in the storage areamanaged by the OS.
 3. The method according to claim 1, wherein, in acase that a number of the temporary SSIDs stored as the informationindicating the SSIDs is greater than a predetermined number, thedeletion of information indicating SSIDs stored in the storage areamanaged by the OS is performed by the OS based on the information of theextracted temporary SSID, wherein, in the deletion by the OS, thepredetermined number of temporary SSIDs are deleted from the storagearea.
 4. The method according to claim 3, wherein the predeterminednumber is more than one.
 5. The method according to claim 1, wherein thepredetermined process is an ending process of the application.
 6. Themethod according to claim 1, wherein the method executed by theapplication program further comprises wirelessly transmitting print datato a printing apparatus via an access point.
 7. A mobile terminal,wherein an OS (Operating System) of the mobile terminal storesinformation indicating SSIDs (Service Set Identifiers) in a storage areamanaged by the OS, the mobile terminal comprising: a memory that storesan application program; and a processor that executes the applicationprogram to: obtain, from the OS, the information indicating SSIDs ofaccess points being stored in the storage area; extract, based on theobtained information indicating the SSIDs, one or more temporary SSIDsfrom the SSIDs stored in the storage area as a temporary SSID, whereinthe extracted one or more temporary SSIDs are made by combining apredetermined character string and a character string that is randomlygenerated; and issue a deletion instruction of information indicatingthe extracted one or more temporary SSIDs to the OS, in a case that apredetermined process is executed for the application program, whereinthe deletion of information indicating the extracted one or moretemporary SSIDs stored in the storage area is performed by the OS basedon the temporary SSID, and wherein the information indicating the SSIDsstored in the storage area managed by the OS is automatically updated bythe OS based on information of an access point in a case that the mobileterminal connects to the access point as a wireless client.
 8. Anon-transitory computer-readable storage medium storing an applicationprogram executed by a processor of a mobile terminal, wherein an OS(Operating System) of the mobile terminal stores information indicatingSSIDs (Service Set Identifiers) in a storage area managed by the OS, andwherein, when executed by the processor of the mobile terminal, theapplication program causes the processor to execute: obtaining, from theOS, the information indicating SSIDs of access points being stored inthe storage area; extracting, based on the obtained informationindicating the SSIDs, one or more temporary SSIDs from the SSIDs storedin the storage area as a temporary SSID, wherein the extracted one ormore temporary SSIDs are made by combining a predetermined characterstring and a character string that is randomly generated; and issuing adeletion instruction of information indicating the extracted one or moretemporary SSIDs to the OS, in a case that a predetermined process isexecuted for the application program, wherein the deletion ofinformation indicating the extracted one or more temporary SSIDs storedin the storage area is performed by the OS based on the temporary SSID,and wherein the information indicating the SSIDs stored in the storagearea managed by the OS is automatically updated by the OS based oninformation of an access point in a case that the mobile terminalconnects to the access point as a wireless client.
 9. The methodaccording to claim 1, wherein, in the extracting, an SSID of an accesspoint to which the mobile terminal is connected is not extracted even ifthe SSID of the access point is made by combining a predeterminedcharacter string and a character string that is randomly generated. 10.The method according to claim 1, wherein the mobile terminal uses theinformation indicating SSIDs to display a screen that displays aconnection history.
 11. The method according to claim 1, wherein themobile terminal stores the information indicating SSIDs to reconnect tothe access point.
 12. The method according to claim 1, wherein thepredetermined process is executed when an operation status of theapplication program makes a transition to a non-active status.